1. Field of the Invention
The present invention generally relates to a method and apparatus for improving the design or analysis solution for complicated problems solved by alternative software tool packages.
2. Description of the Related Art
In a design or analysis problem for a complicated problem such as a VLSI (Very Large-Scale Integration) circuit, a designer (e.g., in a generic problem, a decision maker) would preferably apply two or more design or analysis tools and then select the preferred solution. However, a problem with this conventional approach is that typically the decision maker or designer does not have easy access to all of the alternative software tool packages that provide a solution. Nor is it particularly desirable for a decision maker or designer to personally exercise multiple design or analysis tools since this would require obtaining and maintaining these tools, training all operators for all of these tools, and paying for multiple tools.
A specific example is the problem of synthesizing a VLSI hardware description (such as GL1) from a high level description of the artifact such as VHDL (VHSIC Hardware Description Language) or Verilog. Multiple tools from multiple vendors are available to solve this problem. Yet, for the reasons mentioned above, the selection of the “best” solution in the current state of the art is limited to the generation and selection of the preferred solution within a single vendor tool, because a designer does not usually have access to multiple vendors' repertoire of tools. Additionally, because of budgetary constraints, a designer may not even have access to all of the most appropriate tools within a single vendor's repertoire.
Although not intended as a total listing, other examples of complex problems in which multiple software tool packages might be used to provide a solution are:                creating a schedule of classes in a high school;        creating a distribution schedule of goods; and,        creating a structure for a design of a building.        
In all of the above examples, a user would typically have a software tool to exercise the problem and, without the benefit of the present invention, would be left with a single solution based on a single specific software tool or vendor's set of tools. Hence, the solution would not be optimized and would not take advantage of the infrastructure of multiple tools.